21 research outputs found

    AVL Trees With Relaxed Balance

    Get PDF
    AVL trees with relaxed balance were introduced with the aim of improving runtime per formance by allowing a greater degree of concurrency. This is obtained by uncoupling updating from rebalancing. An additional benefit is that rebalancing can be controlled separately. In particular, it can be postponed completely or partially until after peak working hours.We define a new collection of rebalancing operations which allows for a significantly greater degree of concurrency than the original proposal. Additionally, in contrast to the original proposal, we prove the complexity of our algorithm.If N is the maximum size of the tree, we prove that each insertion gives rise to at most I_ log_Phi(N + 3/2) + log_Phi(squareroot{5}) - 3 _I rebalancing operations and that each deletion gives rise to at most I_ log_Phi(N + 3/2) + log_Phi(squareroot{5}) - 4 _I rebalancing operations, where Phi is the golden ratio

    High Level Efficiency in Database Languages

    Get PDF
    The subject of this Ph.D. thesis is the design and implementation of database languages. The thesis consists of five articles:  [1] Joan F. Boyar and Kim S. Larsen. Efficient Rebalancing of Chromatic Search Trees. In O. Nurmi and E. Ukkonen, eds., LNCS 621: Algorithm Theory -- SWAT'92 , pp. 151-164. Springer-Verlag, 1992. [2] Kim S. Larsen. On Aggregation and Computation on Domain Values. PB-414, Computer Science Department, Aarhus University, 1992. [3] Kim S. Larsen. Strategies for Expression Evaluation Using Sort-Merge Algorithms. PB-415, Computer Science Department, Aarhus University, 1992. [4] Kim S. Larsen and Michael I. Schwartzbach. Injectivity of Unary Queries With Computation on Domain Values. Computer Science Department, Aarhus University, 1992. Revised version of PB-311. [5] Kim S. Larsen, Michael I. Schwartzbach and Erik M. Schmidt. A New Formalism for Relational Algebra. IPL , 41(3):163-168, 1992. and this survey paper. In [5], a new query language design is proposed. The expressive power of the language is determined in [2] and all reasonable extensions are considered. In [3, 4], we focus on the optimization issue of avoiding unnecessary sorting of relations. The results in these papers are directly applicable to any algebra-based query language. In addition to the query language part, a database system also has to offer update facilities. The theory of standard tuple based updates is quite well developed in the sequential case. In [1], we discuss a new concurrent implementation of balanced search trees for that purpose.This survey paper describes the results of the papers which form the thesis, and relates these results to each other and to the area in a broader sense than is customary in the introductions of individual papers. The paper is intended to be read in combination with the papers on which it is based

    On Aggregation and Computation on Domain Values

    Get PDF
    Query languages often allow a limited amount of anthmetic and string operations on domain values, and sometimes sets of values can be dealt with through aggregation and sometimes even set comparisons. We address the question of how these facilities can be added to a relational language in a natural way. Our discussions lead us to reconsider the definition of the standard operators, and we introduce a new way of thinking about relational algebra computations.We define a language FC, which has an iteration mechanism as its basis. A tuple language is used to carry out almost all computations. We prove equivalence results relating FC to relational algebra under various circumstances

    Strategies for Expression Evaluation Using Sort-Merge Algorithms

    Get PDF
    The sort-merge technique for evaluating relational algebra and calculus expressions was advocated very early and is a very widely used implementation technique. We present an algorithm for query analysis prior to execution with the aim of determining sort orders for every subexpression in such a way that resorting can be avoided during the actual evaluation. We prove that our algorithm will find such a solution, if one exists. In that case, we get the additional benefit of perfect pipelining, which implies that we do not have to save temporary results of evaluating subexpressions. The algorithm's running time is quadratic in the size of the expression.In case no assignment of sort orders to subexpressions exists such that resorting can be avoided entirely, the aim is to find a minimum number of places to resort. We also consider this problem

    Efficient Rebalancing of Chromatic Search Trees

    Get PDF
    In PODS'91, Nurmi and Soisalon-Soininen presented a new type of binary search tree for databases, which they call a chromatic tree. The aim is to improve runtime performance by allowing a greater degree of concurrency, which, in turn, is obtained by uncoupling updating from rebalancing. This also allows rebalancing to be postponed completely or partially until after peak working hours.The advantages of the proposal of Nurmi and Soisalon-Soininen are quite significant, but there are definite problems with it. First, they give no explicit upper bound on the complexity of their algorithm. Second, some of their rebalancing operations can be applied many more times than necessary. Third, some of their operations, when removing one problem, create another.We define a new set of rebalancing operations which we prove give rise to at most I_ log_2(N+1) _I - 1 $ rebalancing operations per insertion and at most I_ log_2 (N+1)_I - 2 rebalancing operations per deletion, where N is the maximum'size the tree could ever have, given its initial size and the number of insertions performed. Most of these rebalancing operations, in fact, do no restructuring; they simply move weights around. The number of operations which actually change the structure of the tree is at most one per update

    Efficient Rebalancing of Chromatic Search Trees

    Get PDF
    In PODS'91, Nurmi and Soisalon-Soininen presented a new type of binary search tree for databases, which they call a chromatic tree. The aim is to improve runtime performance by allowing a greater degree of concurrency, which, in turn, is obtained by uncoupling updating from rebalancing. This also allows rebalancing to be postponed completely or partially until after peak working hours.The advantages of the proposal of Nurmi and Soisalon-Soininen are quite significant, but there are definite problems with it. First, they give no explicit upper bound on the complexity of their algorithm. Second, some of their rebalancing operations can be applied many more times than necessary. Third, some of their operations, when removing one problem, create another.We define a new set of rebalancing operations which we prove give rise to at most I_ log_2(N+1) _I - 1 $ rebalancing operations per insertion and at most I_ log_2 (N+1)_I - 2 rebalancing operations per deletion, where N is the maximum'size the tree could ever have, given its initial size and the number of insertions performed. Most of these rebalancing operations, in fact, do no restructuring; they simply move weights around. The number of operations which actually change the structure of the tree is at most one per update

    Bounds on Certain Multiplications of Affine Combinations

    Get PDF
    Let A and B be n x n matrices the entries of which are affine combinations of the variables a_1,... ,a_m,b_1,. .. ,b_m over GF(2). Suppose that, for each i, 1<= i <= m, the term a_i b_i is an element of the product matrix C = A € B. What is the maximum value that m can have as a function of n ? This question arises from a recent technique for improving the communication complexity of zero-knowledge proofs.The obvious upper bound of n^2 is improved to n^2 sqrt[3] 3 + O(n). Tighter bounds are obtained for smaller values of n. The bounds for n = 2, n = 3, and n = 4 are tight

    Length of Maximal Common Subsequences

    No full text

    Optimal detection of query injectivity

    No full text
    Most unary relational database operators can be described through functions from tuples to tuples. Injectivity of the specified function ensures that no duplicates are created in the relational result. This normally reduces the complexity of the query from O(r log r) to O(r), where r is the number of tuples in the argument relation. We consider functions obtained as terms over a general signature. The semantic properties of the operators are specified by Horn clauses generalizing functional dependencies. Relative to such specifications, we present an optimal algorithm for detecting injectivity of unary queries. The complexity of this algorithm is linear in the size of the query. It turns out that relational functional dependencies are very easily incorporated into this framework. As a further result, we provide a Horn clause characterization of the functional dependencies that can be propagated to the result relation
    corecore